时间戳 2038 问题

大象笔记 > 标签 > 时间戳 2038 问题

golang 中使用时间戳作为用户 id 的可行性

有一个简单的使用场景,即用户在一个设备上,会反复添加条目,例如一个 TODO 项。除了自增 ID 之外,我还想加上另外一个唯一标识。由于同一时间,用户只能添加一条记录,所以不会出现并发冲突的问题。 能想到的最简单方案就是使用时间戳。于是调研了一下可行性。 golang int 的值范围 int32: -2147483648 到 2147483647。大概 21 亿 int64: -9223372036854775808 到 9223372036854775807 以秒为单位的时间戳的数值大小 但是用时间戳,会遇到 2038 问题,即 2038 后,时间戳会超出 int32 的存储范围。虽然 ...

阅读全文...